Method and apparatus for controlling a video surveillance display

ABSTRACT

A method and apparatus for controlling a video surveillance display comprising receiving an MPEG video stream comprising video data in I-frames and P-frames, storing the MPEG video stream in an input buffer, displaying the stored MPEG video stream in full-motion video, monitoring the amount of video data stored in the input buffer; and displaying only the I-frames of the stored MPEG video stream when the amount of video data stored in the input buffer is greater than a predetermined amount.

CROSS-REFERENCE TO RELATED APPLICATION

N/A

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

N/A

BACKGROUND OF THE INVENTION

This invention relates generally to surveillance systems and, inparticular, to a method and apparatus for controlling a videosurveillance display.

Displaying the video data gathered by video surveillance systems hasbeen a challenge because of the large amount of data involved. If thevideo data is compressed, such as with MPEG video, the system must firstdecompress or decode the video before it can be displayed. Thisdecompression can require a significant amount of system resources andtime. In order to display multiple compressed video streams, the systemmust be capable of handling the multiple decompressions. Depending uponthe number of video streams to be displayed simultaneously, theresolution of each stream, and the frame rate requested by the systemuser for each displayed video stream, the system resources can quicklybe exceeded. Full-motion video provides the most information and ispreferred by many users. However, the amount of system resourcesrequired to display a plurality of video streams in full-motion videocan be significant thereby further taxing the system resources. Withintraframe encoded images, such as JPEG images, each one is independentso that if the system is displaying a series of JPEG images and findsthat it cannot handle the frame per second rate, then the system cansimply display every other image or every third or fourth imagedepending on the current limitation of the system resources. With MPEGvideo, the system has to be able to decode the whole stream. If thesystem falls behind, you cannot eliminate some of the data by simplydisplaying every other image as is done with an intraframe encodedstream. As a result, the system ends up with more video data coming inthan is being processed which can result in the system crashing. Inaddition, temporary overloads of the system can result, for example,from a burst of data caused by network traffic or interruption of systemprocessing power caused by internal system processes or a user'srequest. These temporary overloads can be extremely troublesome if thesystem resources are stretched to the maximum. A system crash orsignificant reduction in the level of service is unacceptable in thevideo surveillance environment where continuous operation and themaximum possible amount of information is required.

Accordingly, there has been a long felt need in the video surveillanceindustry for a video surveillance system that maximizes the amount ofvideo information displayed while minimizing interruptions of thedisplayed video.

SUMMARY OF THE INVENTION

In accordance with the present invention there is provided a method ofcontrolling a video surveillance display comprising the steps ofreceiving an MPEG video stream comprising video data in I-frames andP-frames, storing the received MPEG video stream in an input buffer,displaying the stored MPEG video stream in full-motion video, monitoringthe amount of video data stored in the input buffer, and displaying onlythe I-frames of the stored MPEG video stream when the amount of videodata stored in the input buffer is greater than a predetermined amount.

In accordance with the present invention there is also provided a methodof controlling a video surveillance display comprising the steps ofreceiving a plurality of MPEG video streams comprising video data inI-frames and P-frames, receiving a request for the mode in which thereceived MPEG video streams are to be displayed with at least one of theMPEG video streams requested to be displayed in full-motion video,displaying the MPEG video streams in the input buffer according to thereceived request, monitoring the amount of video data in the inputbuffer, determining the number of MPEG video streams that can bedisplayed in full-motion video and not cause the amount of video datastored in the input buffer to exceed a predetermined amount, anddisplaying only the number of MPEG video streams determined in thedetermining step in full-motion video and the remainder of the MPEGvideo streams in I-frame mode.

In another aspect of the present invention there is provided a method ofcontrolling a video surveillance display comprising the steps ofreceiving a plurality of MPEG video streams comprising I-frames andP-frames, receiving an input requesting the number of streams to bedisplayed on a display screen at the same time and the number of screensto be displayed in full-motion video, determining the number of streamsthat can be displayed in full-motion video with the remainder of therequested streams being displayed in I-frame mode, and displaying someof the requested number of streams in full-motion video and theremainder in I-frame mode.

In still another aspect of the invention there is provided a method ofcontrolling a video surveillance system comprising the steps of sendingvideo data comprising full-motion video from a video source, receivingthe video data at a location, storing the received video data in aninput buffer, displaying the stored video data as full-motion video,determining when the amount of video data stored in the input buffer isgreater than a predetermined level, notifying the video source to sendonly I-frames when the amount of video data stored in the input bufferis greater than the predetermined level, separating the I-frames fromthe MPEG video data at the video source, sending video data consistingof only I-frames, receiving the video data from the source consisting ofonly I-frames, storing the video data consisting of only I-frames in thevideo buffer, and displaying the I-frames stored in the video buffer.

A further aspect of the invention provides a method of controlling avideo surveillance system comprising the steps of sending video datacomprising full-motion video from a video source, receiving the videodata at a location, storing the received video data in an input buffer,displaying the stored video data as full-motion video, determining ifthe rate that video data is being stored in the input buffer is lessthan a predetermined level, notifying the video source to send onlyI-frames when the rate of video data being stored in the input buffer isless than the predetermined level, separating the I-frames from the MPEGvideo data at the video source, sending video data consisting of onlyI-frames, receiving the video data from the source consisting of onlyI-frames, storing the video data consisting of only I-frames in thevideo buffer, and displaying the I-frames stored in the video buffer.

Another aspect of the present invention provides an apparatus forcontrolling a video surveillance display comprising an input forreceiving an MPEG video stream comprising video data in I-frames andP-frames, an input buffer for storing the received MPEG video stream,and a processor for monitoring the amount of video data stored in theinput buffer. The processor provides a signal for displaying the storedMPEG video stream in full-motion video if the amount of video datastored in the input buffer is less than a predetermined amount and fordisplaying only the I-frames of the stored MPEG video stream when theamount of video data stored in the input buffer is greater than thepredetermined amount.

In still another aspect of the present invention there is provided anapparatus for controlling a video surveillance display comprising aninput for receiving a plurality of MPEG video streams comprising videodata in I-frames and P-frames, an input for receiving a request for themode in which the received MPEG video streams are to be displayed withat least one of the MPEG video streams requested to be displayed infull-motion video, an input buffer for storing the received MPEG videostreams, and a processor for providing a signal for displaying the MPEGvideo streams stored in the input buffer according to the receivedrequest. The processor monitors the amount of video data in the inputbuffer and determines the number of MPEG video streams that can bedisplayed in full-motion video and not cause the amount of video datastored in the input buffer to exceed a predetermined amount. Theprocessor changes the signal to display only the determined number ofMPEG video streams in full-motion video and the remainder of the MPEGvideo streams in I-frame mode.

In addition, in accordance with the present invention there is providedan apparatus for controlling a video surveillance display comprising aninput for receiving a plurality of MPEG video streams comprisingI-frames and P-frames, an input for receiving a request for the numberof streams to be displayed on a display screen at the same time and thenumber of screens to be displayed in full-motion video, and a processorfor determining the number of streams that can be displayed infull-motion video with the remainder of the requested streams beingdisplayed in I-frame mode. The processor provides a signal fordisplaying some of the requested number of streams in full-motion videoand the remainder in I-frame mode.

Still further, the present invention provides a video surveillancesystem comprising a network, a video source for providing an MPEG videostream comprising I-frames and P-frames connected to the network, thevideo source being able to separate the video stream into I-frames andP-frames, and a workstation connected to the network and comprising aninput buffer for storing video data received from the network and aprocessor. The workstation monitors the amount of video data in theinput buffer and sends a signal to the video source to provide onlyI-frames when the amount of video data in the input buffer is greaterthan a predetermined amount.

The present invention also provides a video surveillance systemcomprising a network, a video source for providing an MPEG video streamcomprising I-frames and P-frames connected to the network, the videosource being able to separate the video stream into I-frames andP-frames, and a workstation connected to the network and comprising aninput buffer for storing video data received from the network and aprocessor. The workstation monitors the rate that video data is beingstored in the input buffer and sends a signal to the video source toprovide only I-frames when the rate that video data is being stored inthe input buffer is less than a predetermined amount.

Other advantages and applications of the present invention will be madeapparent by the following detailed description of the preferredembodiment of the invention.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

FIG. 1 is a block diagram of a video surveillance system utilizing thepresent invention.

FIG. 2 is a block diagram of an exemplary video source in the videosurveillance system shown in FIG. 1.

FIG. 3 is a block diagram of an exemplary workstation in the videosurveillance system shown in FIG. 1.

FIG. 4 is a diagram illustrating an exemplary display.

FIG. 5 is a diagrammatic block diagram illustrating the processing of anMPEG stream according to the present invention.

FIG. 6 is a flowchart of one embodiment of the process of the presentinvention.

FIG. 7 is a flowchart of one embodiment of the process of the presentinvention.

FIG. 8 is a flowchart of one embodiment of the process of the presentinvention.

FIG. 9 is a flowchart of one embodiment of the process of the presentinvention.

DETAILED DESCRIPTION OF THE INVENTION

Referring to FIG. 1, a video surveillance system 10 has a network 12which can be a closed network, local area network, or wide area network,such as the Internet. A plurality of video sources 14, 16, 18, and 20,which can be, for example, video cameras or digital video recorders, areconnected to network 12 to provide real-time or playback MPEG videostreams, such as MPEG4 video streams. Workstation 22, which can be, forexample, a control point in surveillance system 10, a personal computeror a user logged into surveillance system 10 by means of a laptopcomputer, is connected to network 12. Sources 14, 16, 18, and 20 provideMPEG video streams to workstation 22 via network 12.

An exemplary video source is illustrated in FIG. 2 in block diagramform. Camera 24 provides its output to encoder 26, which in turnprovides an MPEG video stream to modem 28 for transmitting to network12. It is to be understood that although camera 24, encoder 26, andmodem 28 have been shown as separate devices, their functions can beprovided in a single device or in two devices rather than three separatedevices as illustrated.

With reference to FIG. 3, an exemplary workstation of the presentinvention is shown in block diagram form. Workstation 22 has a processor30 which is connected to input buffer 32, ROM 34, RAM 36, display 38,disk drive 40 and user input device 42. Processor 22 can be a centralprocessing unit or a digital signal processor or both. User input device32 can be a controller, keyboard, or other suitable input device.Processor 22 implements algorithms and programs that are stored in ROM34 or disk drive 40 in response to user input from user input device 42and provides output signals to display 38. Modem 44 is connected tonetwork 12 and receives the MPEG video streams from sources 14, 16, 18,and 20 in FIG. 1. Modem 44 provides the MPEG video streams to inputbuffer 32. The video stream data can be stored in a partition of diskdrive 40 according to the method of the present invention. Input port45, which can be, for example, a USB or FireWire port, can also providevideo streams to input buffer 32. Alternatively, processor 30 can haveits own input buffers, or a portion of RAM 36 can be used as an inputbuffer. In addition, disk drive 40 can be a video source as describedherein.

User input device 42 provides user input to processor 30, such asinstructions concerning the number of video streams to be displayed ondisplay 38, the resolution of each portion of the display, and whetherthe stream is to be displayed in full-motion video or another format.FIG. 4 shows an exemplary display on the screen of display 38 havingfour separate quadrants labeled 46, 48, 50, and 52, which could, forexample, contain video streams from sources 14, 16, 18, and 20respectively. It is to be understood that numerous other displayconfigurations are possible depending upon the needs of the user and thesystem capabilities, for example, dividing the screen into nine orsixteen equal-sized boxes or dividing quadrant 46 into four equal-sizedboxes while maintaining quadrants 48, 50, and 52 in their original size.

FIG. 5 illustrates an exemplary MPEG stream 54 from sources 14, 16, 18,and 20. MPEG stream 54 consists of a series of data frames encodingpictures. The three types of data frames are I-frames, P-frames, andB-frames. I-frames are encoded as a single image with no reference toany past or future frames. P-frames (predictive) are encoded relative tothe past reference frame, which can be a P-frame or I-frame. The pastreference frame is the closest preceding reference frame. B-frames(bidirectional predictive) are encoded relative to the past referenceframe, the future reference frame, or both frames. The future referenceframe is the closest following reference frame, either I-frame orP-frame. The series of frames, which is referred to in the art as aGroup of Pictures (GOP), can take many different configurations, and, asstated above, MPEG video stream 54 is merely exemplary. The ratio ofI-frames, P-frames, and B-frames is determined by the nature of thevideo stream and the bandwidth constraints of the network and system. Inaddition, the time required for encoding the video stream may alsoaffect the ratio. MPEG video stream 54 is shown as having B-frames,although an MPEG stream consisting of only I-frames and P-frames hasbeen found to be satisfactory for video surveillance system purposes.

MPEG video stream 54 is separated into two separate files, file 56 andfile 58, by processor 30 of workstation 22. Alternatively, othercircuitry could be used as a video stream separator. Processor 30determines the frame type by examining the frame headers. File 56contains only I-frames, and file 58 contains P-frames and B-frames. Asdiscussed above, MPEG video stream 54 may not contain B-frames, and thusfile 56 would contain only P-frames. Files 56 and 58 each have a uniqueidentifier, which can be in the header of the respective files and canbe a unique time stamp provided by processor 30. Processor 30 alsoprovides each frame with a sequential frame number, (indicated as 1through 10 in FIG. 5) so that files 56 and 58 can be combined byprocessor 30 to provide full-motion video in response to a request fromuser input device 42. The I-frames are independent images that aresimilar to JPEG images. Therefore, if the system cannot handle thefull-motion video, just the I-frames can be displayed at whatever framerate can be handled based on the current system demands, for example,from three frames per second up to thirty frames per second.

FIG. 6 is a flowchart illustrating a first embodiment of the process ofthe present invention. At step 60 processor 30 receives a video displayrequest from user input device 42 indicating the screen display desiredby a user. At step 62 processor 30 determines if the number of streamsrequested by a user can be displayed in full-motion. If a user's requestcan be provided, then processor 30 provides the requested display infull-motion at step 64. If a user's request cannot be provided, then atstep 66 processor 30 determines the maximum number of streams (V_(max))that can be displayed in full-motion with the remainder of the streamsbeing displayed in I-frame mode. At step 68, processor 30 combines the Iand P frames for the frames that are to be displayed in full-motion.Processor 30 then provides the full-motion video for the V_(max) streamsand I-frame mode streams for the remainder of the streams.

In FIG. 7 another embodiment of the process of the present invention isillustrated. At step 72 in this embodiment, processor 30 monitors theamount of video data (V_(D)) stored in input buffer 32 and at step 74compare the amount of stored video data to a predetermined level. Thepredetermined level is preferably chosen to allow enough storagecapacity in input buffer 32 to accommodate a data burst from network 12or an unexpected request from a user or for system processing. Processor12 determines if it is falling behind in processing the incoming videostreams by checking the filled level of input buffer 32 and determiningthe resource needed to process the data. If processor 30 determines thatit is falling behind, then at step 76 processor 30 switches some or allof the video streams temporarily to I-frame mode until system resourcescan handle the incoming video streams. At step 78 processor 30determines if V_(D) is less than a predetermined level. When the systemresources can handle the incoming video streams, processor 30 switchesthe display back to the original configuration as indicated by step 80.The predetermined level referred to in steps 74 and 78 can be identicalor can be different to establish a range where the video streamcontinues to be displayed in I-frame mode until the amount of video datastored in input buffer 32 is less than the lower level of the range.Workstation 22 utilizes a lookup table to determine the amount ofprocessing power required to be able to display each video stream at therequested resolution and frame rate. Preferably, the lookup table iscreated in advance of use of the workstation 22 although the followingcalculations can be made in real time. The lookup table can be stored,for example, in disk drive 40 for permanent storage and copied into RAM36 during normal operation. The amount of processor usage at eachresolution and frame rate is determined and stored in a lookup table sothat the system can efficiently and quickly determine if the requesteddisplay can be provided or whether some or all of the quadrants have tobe placed in I-frame mode, for example, by looking up the processorusage required by the display in each quadrant, adding theserequirements to determine a total processor usage requirement, andcomparing this to a predetermined level of allowed processor usage. Ithas been found that using the lookup table to calculate the processorusage is normally within plus or minus five percent of the actualmeasured value. In addition, it has been found that although there maybe a difference in the video stream of a camera, for example, when thecamera is viewing a blank wall versus a crowd of people, the differenceis not significant in terms of the calculation of processor usage.Alternatively, the amount of processor usage at each resolution andframe rate can be determined in real-time by processor 30 rather thanstored in a lookup table.

In another aspect of the invention illustrated in FIG. 8, workstation 22can communicate over network 12 and request that a source, such assource 14, send only I-frames when processor 30 of workstation 22 hasdetermined that input buffer 32 is filled to a level that is greaterthan a predetermined level, which are determined by steps 72 and 74 asdiscussed above. When the level of input buffer 32 is greater than thepredetermined value, processor 30 notifies the source to send onlyI-frames only as indicated at step 82. This predetermined level ischosen to ensure that the system does not crash as discussed above. Inthis case, encoder 26, which is connected to camera 24, decodes theMPEG4 video stream into (a) I-frames and (b) P-frames and B-frames orjust P-frames as discussed above. Encoder 26 then sends only theI-frames over network 12 to workstation 22, thereby matching the videooutput stream to the current capability of workstation 22. Processor 30continues to monitor the level of data stored in input buffer 32 at step84. When processor 30 is again able to display the full-motion MPEG4video on display 38, processor 30 sends a message or signal over network12 to encoder 26 indicating that encoder 26 should now send the MPEG4video stream rather than just the I-frames as indicated at step 86.

In still another aspect of the invention illustrated in FIG. 9,workstation 22 can communicate over network 12 and request that asource, such as source 14, send only I-frames when processor 30 ofworkstation 22 has determined that there is congestion on network 12,such as when the input rate to input buffer 32 is less than apredetermined rate. At step 88, processor 30 monitors the rate videodata (V_(R)) is being stored in input buffer 32. At decision point 90,processor 30 determines if V_(R) is less than a predetermined rate. IfV_(R) is less than a predetermined rate, then at step 92 processor 30notifies the source, such as source 14, to send I-frames only. In thiscase, encoder 26, which is connected to camera 24, decodes the MPEG4video stream into (a) I-frames and (b) P-frames and B-frames or justP-frames as discussed above. Encoder 26 then sends only the I-framesover network 12 to workstation 22, thereby reducing the bandwidthrequired on network 12. At decision point 94, processor 30 determines ifV_(R) is greater than a predetermined rate, and if it is, processor 30at step 96 notifies the source to send full-motion video. Thepredetermined level referred to in steps 90 and 94 can be identical orcan be different to establish a range where the video stream continuesto be displayed in I-frame mode until the rate of video data beingstored in input buffer 32 is greater than the upper level of the range.

It is to be understood that variations and modifications of the presentinvention can be made without departing from the scope of the invention.It is also to be understood that the scope of the invention is not to beinterpreted as limited to the specific embodiments disclosed herein, butonly in accordance with the appended claims when read in light of theforegoing disclosure.

1. A method of controlling a video surveillance display comprising thesteps of: receiving an MPEG video stream comprising video data inI-frames and P-frames; storing the received MPEG video stream in aninput buffer; displaying the stored MPEG video stream in full-motionvideo; monitoring the amount of video data stored in the input buffer;and displaying only the I-frames of the stored MPEG video stream whenthe amount of video data stored in the input buffer is greater than apredetermined amount.
 2. A method as recited in claim 1 furthercomprising the step of changing the display from I-frames only tofull-motion video when the amount of video data stored in the inputbuffer is less than a predetermined amount.
 3. A method as recited inclaim 1 further comprising the steps of separating the I-frames from theP-frames in the stored MPEG video stream and storing the separatedI-frames and P-frames separately in a storage device.
 4. A method asrecited in claim 1 further comprising the step of providing a signal toa source of the MPEG video stream instructing the source to provide onlythe I-frames of the MPEG video stream when the video data stored in theinput buffer is greater than a predetermined amount.
 5. A method asrecited in claim 4 further comprising the step of providing a signal tothe source of the MPEG video stream to provide I-frames and P-frames ofthe MPEG video stream when the video data stored in the input buffer isless than a predetermined amount.
 6. A method of controlling a videosurveillance display comprising the steps of: receiving a plurality ofMPEG video streams comprising video data in I-frames and P-frames;receiving a request for the mode in which the received MPEG videostreams are to be displayed with at least one of the MPEG video streamsrequested to be displayed in full-motion video; displaying the MPEGvideo streams in the input buffer according to the received request;monitoring the amount of video data in the input buffer; determining thenumber of MPEG video streams that can be displayed in full-motion videoand not cause the amount of video data stored in the input buffer toexceed a predetermined amount; and displaying only the number of MPEGvideo streams determined in said determining step in full-motion videoand the remainder of the MPEG video streams in I-frame mode.
 7. A methodas recited in claim 6 further comprising the step of changing thedisplay back to the received request when the amount of video datastored in the input buffer is less than a predetermined amount.
 8. Amethod as recited in claim 6 further comprising the steps of separatingthe I-frames from the P-frames in the received MPEG video streams andstoring the separated I-frames and P-frames separately in a storagedevice.
 9. A method as recited in claim 6 wherein said determining stepcomprises referring to a lookup table to determine the amount of systemresources required to display a video stream.
 10. A method as recited inclaim 6 wherein said determining step comprises calculating in real-timethe amount of system resources required to display a video stream.
 11. Amethod as recited in claim 6 further comprising the step of providing asignal to a source of an MPEG video stream instructing the source toprovide only the I-frames of the MPEG video stream when the video datastored in the input buffer is greater than a predetermined amount.
 12. Amethod as recited in claim 11 further comprising the step of providing asignal to the source of the MPEG video stream to provide I-frames andP-frames of the MPEG video stream when the video data stored in theinput buffer is less than a predetermined amount.
 13. A method ofcontrolling a video surveillance display comprising the steps of:receiving a plurality of MPEG video streams comprising I-frames andP-frames; receiving an input requesting the number of streams to bedisplayed on a display screen at the same time and the number of screensto be displayed in full-motion video; determining the number of streamsthat can be displayed in full-motion video with the remainder of therequested streams being displayed in I-frame mode; and displaying someof the requested number of streams in full-motion video and theremainder in I-frame mode.
 14. A method as recited in claim 13 whereinsaid displaying step comprises displaying the maximum number offull-motion video streams with the remainder of the streams beingdisplayed in I-frame mode.
 15. A method as recited in claim 14 furthercomprising the step of separating the I-frames from the remainder of theMPEG video stream for the requested MPEG video streams that cannot bedisplayed in full-motion video.
 16. A method as recited in claim 15wherein said determining step comprises referring to a lookup table todetermine the amount of system resources required to display a videostream.
 17. A method as recited in claim 16 wherein said receiving stepcomprises receiving a request for the resolution for a video stream tobe displayed and said determining step comprises referring to a lookuptable to determine the amount of system resources required to display avideo stream in a requested resolution.
 18. A method as recited in claim16 wherein said determining step comprises calculating in real-time theamount of system resources required to display a video stream.
 19. Amethod as recited in claim 13 further comprising requesting that thesource of a video stream that is displayed in I-frame mode send onlyI-frames from the MPEG video stream.
 20. A method of controlling a videosurveillance system comprising the steps of: sending video datacomprising full-motion video from a video source; receiving the videodata at a location; storing the received video data in an input buffer;displaying the stored video data as full-motion video; determining whenthe amount of video data stored in the input buffer is greater than apredetermined level; notifying the video source to send only I-frameswhen the amount of video data stored in the input buffer is greater thanthe predetermined level; separating the I-frames from the MPEG videodata at the video source; sending video data consisting of onlyI-frames; receiving the video data from the source consisting of onlyI-frames; storing the video data consisting of only I-frames in thevideo buffer; and displaying the I-frames stored in the video buffer.21. A method as recited in claim 20 further comprising the steps ofdetermining when the amount of video data stored in the input buffer isless than a predetermined level and notifying the video source to sendvideo data comprising full-motion video when the amount of video datastored in the input buffer is less than a predetermined level.
 22. Amethod of controlling a video surveillance system comprising the stepsof: sending video data comprising full-motion video from a video source;receiving the video data at a location; storing the received video datain an input buffer; displaying the stored video data as full-motionvideo; determining if the rate that video data is being stored in theinput buffer is less than a predetermined level; notifying the videosource to send only I-frames when the rate of video data being stored inthe input buffer is less than the predetermined level; separating theI-frames from the MPEG video data at the video source; sending videodata consisting of only I-frames; receiving the video data from thesource consisting of only I-frames; storing the video data consisting ofonly I-frames in the video buffer; and displaying the I-frames stored inthe video buffer.
 23. A method as recited in claim 22 further comprisingthe steps of determining when the rate of video data being stored in theinput buffer is greater than a predetermined level and notifying thevideo source to send video data comprising full-motion video when therate of video data being stored in the input buffer is greater than apredetermined level.
 24. An apparatus for controlling a videosurveillance display comprising: an input for receiving an MPEG videostream comprising video data in I-frames and P-frames; an input bufferfor storing said received MPEG video stream; and a processor formonitoring the amount of video data stored in said input buffer, saidprocessor providing a signal for displaying said stored MPEG videostream in full-motion video if the amount of video data stored in saidinput buffer is less than a predetermined amount and for displaying onlythe I-frames of said stored MPEG video stream when the amount of videodata stored in said input buffer is greater than said predeterminedamount.
 25. An apparatus as recited in claim 24 wherein said processorchanges said signal from displaying I-frames only to full-motion videowhen the amount of video data stored in said input buffer is less thansaid predetermined amount.
 26. An apparatus as recited in claim 24wherein said processor separates the I-frames from the P-frames in saidreceived MPEG video stream and stores the separated I-frames andP-frames separately in said input buffer.
 27. An apparatus as recited inclaim 24 wherein said processor provides a signal to a source of theMPEG video stream instructing the source to provide only the I-frames ofthe MPEG video stream when the video data stored in said input buffer isgreater than a predetermined amount.
 28. An apparatus as recited claim27 wherein said processor provides a signal to the source of the MPEGvideo stream to provide I-frames and P-frames of the MPEG video streamwhen the video data stored in said input buffer is less than apredetermined amount.
 29. An apparatus for controlling a videosurveillance display comprising: an input for receiving a plurality ofMPEG video streams comprising video data in I-frames and P-frames; aninput for receiving a request for the mode in which the received MPEGvideo streams are to be displayed with at least one of the MPEG videostreams requested to be displayed in full-motion video; an input bufferfor storing said received MPEG video streams; and a processor forproviding a signal for displaying the MPEG video streams in the inputbuffer according to the received request, said processor monitoring theamount of video data in said input buffer and determining the number ofMPEG video streams that can be displayed in full-motion video and notcause the amount of video data stored in said input buffer to exceed apredetermined amount and said processor changing said signal to displayonly the determined number of MPEG video streams in full-motion videoand the remainder of the MPEG video streams in I-frame mode.
 30. Anapparatus as recited in claim 29 wherein said processor changes saidsignal back to display the received request when the amount of videodata stored in said input buffer is less than said predetermined amount.31. An apparatus as recited in claim 29 further comprising a storagedevice and wherein said processor separates the I-frames from theP-frames in said received MPEG video streams and stores the separatedI-frames and P-frames separately in said storage device.
 32. Anapparatus as recited in claim 29 wherein said processor refers to alookup table to determine the amount of system resources required todisplay a video stream.
 33. An apparatus as recited in claim 29 whereinsaid processor provides a signal to be sent to a source of an MPEG videostream instructing the source to provide only the I-frames of the MPEGvideo stream when the video data stored in said input buffer is greaterthan a predetermined amount.
 34. An apparatus as recited claim 29wherein said processor provides a signal to be sent to a source of anMPEG video stream to provide I-frames and P-frames of the MPEG videostream when the video data stored in said input buffer is less than apredetermined amount.
 35. An apparatus for controlling a videosurveillance display comprising: an input for receiving a plurality ofMPEG video streams comprising I-frames and P-frames; an input forreceiving a request for the number of streams to be displayed on adisplay screen at the same time and the number of screens to bedisplayed in full-motion video; and a processor for determining thenumber of streams that can be displayed in full-motion video with theremainder of the requested streams being displayed in I-frame mode andproviding a signal for displaying some of the requested number ofstreams in full-motion video and the remainder in I-frame mode.
 36. Anapparatus as recited in claim 35 wherein said processor separates theI-frames from the remainder of the MPEG video stream for the requestedMPEG video streams that cannot be displayed in full-motion video.
 37. Anapparatus as recited in claim 35 wherein said processor refers to alookup table to determine the amount of system resources required todisplay a video stream.
 38. A video surveillance system comprising: anetwork; a video source for providing an MPEG video stream comprisingI-frames and P-frames connected to said network, said video source beingable to separate said video stream into I-frames and P-frames; and aworkstation connected to said network and comprising an input buffer forstoring video data received from said network and a processor, whereinsaid workstation monitors the amount of video data in said input bufferand sends a signal to said video source to provide only I-frames whenthe amount of video data in said input buffer is greater than apredetermined amount.
 39. A video surveillance system as recited inclaim 38 wherein said workstation sends a signal to said video source tosend an MPEG video stream comprising I-frames and P-frames when theamount of video data stored in said input buffer is less than apredetermined amount.
 40. A video surveillance system comprising: anetwork; a video source for providing an MPEG video stream comprisingI-frames and P-frames connected to said network, said video source beingable to separate said video stream into I-frames and P-frames; and aworkstation connected to said network and comprising an input buffer forstoring video data received from said network and a processor, whereinsaid workstation monitors the rate that video data is being stored insaid input buffer and sends a signal to said video source to provideonly I-frames when the rate that video data is being stored in saidinput buffer is less than a predetermined amount.
 41. A videosurveillance system as recited in claim 40 wherein said workstationsends a signal to said video source to send an MPEG video streamcomprising I-frames and P-frames when the rate of video data beingstored in said input buffer is greater than a predetermined amount.